package main

import "fmt"

func main() {
	fmt.Println("Hello World kso errors ")
	customErrors()
	f, err := test1(0, 0)
	fmt.Println("=======", f, err.Error())
	fmt.Println(test2())
	fmt.Println(errorIs(ErrorCustom))
	fmt.Println(errorAs(ErrorCustom1))
	fmt.Println(findItem(12121212))
	riskyFunction()
	err = doSomething()
	fmt.Println(err)
	casedefer()
	errs := doSomething()
	if errs != nil {
		fmt.Println(errs)

		// 如果需要，可以进行类型断言以访问 MyError 中的具体字段
		if myErr, ok := errs.(*MyError); ok {
			fmt.Printf("Specific details - Code: %d, Message: %s\n", myErr.what, myErr.when)
		}
	}
}
